
// #ifndef VUE3
import Vue from 'vue'
import App from './App'
import store from './store/store.js'

// 按需导入 $http 对象
import { $http } from '@escook/request-miniprogram'

// 在 uni-app 项目中，可以把 $http 挂载到 uni 顶级对象之上，方便全局调用
uni.$http = $http
// 配置请求根路径
$http.baseUrl = 'https://api-hmugo-web.itheima.net'


//请求之前 请求拦截器
$http.beforeRequest = function(options){
  uni.showLoading({
    title:'数据加载中'
  })
  console.log(options,'我是请求拦截器中的options')
  console.log(store,'mainjs中的store')
  //判断请求的求否为有权限的API接口 indexOf(String str): 返回指定字符str在字符串中(方法调用者)第一次出现处的起始索引,如果此字符串中没有这样的字符,则返回 -1。
  if(options.url.indexOf('/my/') !== -1){
    //为请求头添加身份认证字段
    options.header = {
      //字段的值可以直接从vuex中获取
      Authorization:store.state.m_user.token
    }
  }
}
//请求之后
$http.afterRequest = function(){
  uni.hideLoading()
}

uni.$showMsg = function(title = '消息加载失败!',duration= 1500){
  return uni.showToast({
    title,
    duration,
    icon:'none'
  })
}


Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App,
    //将store挂载到Vue实例中
    store,
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import App from './App.vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif